package zsc.nine.onlinemall.controller;

import com.alibaba.fastjson.JSONObject;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;

/**
 * @ClassName: testController
 * @Description: Controller of test's operation
 * @Author: Zainus
 * @CreateDate: July.19, 2021
 * @UpdateDate: July.19, 2021
 * @Version: [v1.0]
 */

/**
 * @类名: testController
 * @描述: 处理测试控制类接口
 * @创建人: 叶增钥
 * @创建时间: 2021年7月19日
 * @更新时间: 2021年7月19日
 * @版本: [v1.0]
 */

@RestController
public class testController {

    /**
     * @param param1: 参数一
     * @param param2: 参数二
     * @Description: 测试控制类方法
     * @return: 发送结果，用JSONString的Result字段携带，Parameter-Null为传入参数缺失，Empty为后端判断数据为空，Fail为失败，Success为成功
     */
    @PostMapping("/test")
    public String forTest(@RequestParam(value = "param1") String param1,
                          @RequestParam(value = "param2", required = false) String param2) {

        /*初始化返回结果，并将结果LoginResult字段置为Fail*/
        JSONObject jsonObject = new JSONObject();
        jsonObject.put("TestResult", "Fail");

        /*后端校验数据合法性*/
        if (param1 == null
                || param2 == null) {
            jsonObject.put("TestResult", "Parameter-Null");
        } else if (param1.trim().isEmpty() || param2.trim().isEmpty()) {
            jsonObject.put("TestResult", "Empty");
        }

        /*成功*/
        else {
            System.out.println("Param1: " + param1);
            System.out.println("Param2: " + param2);

            jsonObject.put("TestResult", "Success");
        }

        return jsonObject.toJSONString();
    }


}
